home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / wp / dana104.zip / WORDWRAP.DAS < prev   
Text File  |  1995-12-15  |  2KB  |  86 lines

  1. '-----------------------------------------------------------------------
  2. ' Re-format text.
  3. '-----------------------------------------------------------------------
  4. Main ()
  5.     Dim s$, t$
  6.     Dim n%
  7.     Dim c%
  8.     Dim i%, j%
  9.     n = .BlkBegC
  10.     s$ = GetSelected()
  11.     t$ = s$
  12.     While True
  13.         c = LodB(s$, i)
  14.         If c = &H0A Then
  15.             Dim cc%
  16.             cc = LodB(s$, i + 1)
  17.             If i > 1 Then
  18.                 Dim ii%
  19.                 ii = i - 2;
  20.                 If cc <> &H00 Then
  21.                     Do
  22.                         cc = LodB(s$, ii)
  23.                         ii = ii - 1
  24.                     Loop Until cc <> &H20 And ii >= 0
  25.                 Else
  26.                     cc = &H0A
  27.                 End If
  28.             Else
  29.                 cc = &H20
  30.             End If
  31.                             ' Not ".", "!", "?", CRLF
  32.             If .SprPoint > n And cc <> &H2E And cc <> &H0A And cc <> &H21 And cc <> &H3F Then
  33.                 c = &H20
  34.             Else
  35.                 n = 0
  36.             End If
  37.             StoB(t$, j, c)
  38.             j = j + 1
  39.         Else If c = &H20 Or c = &H09 Then
  40.             c = &H20
  41.             If .SprPoint <= n Then
  42.                 c = &H0A
  43.                 n = 0
  44.             End If
  45.             StoB(t$, j, c)
  46.             j = j + 1
  47.         Else If c = &H0D Then
  48.             n = n - 1
  49.             ' Do nothing.
  50.         Else
  51.             If n >= .SprPoint Then
  52.                 Dim nn%, jj%, cc%
  53.                 jj = j - 1
  54.                 nn = n
  55.                 While nn
  56.                     cc = LodB(t$, jj)
  57.                     If cc = &H20 Then
  58.                         StoB(t$, jj, &H0A)
  59.                         n = n - nn
  60.                         Exit While
  61.                     End If
  62.                     jj = jj - 1
  63.                     nn = nn - 1
  64.                 Wend
  65.             End If
  66.             StoB(t$, j, c)
  67.             j = j + 1
  68.         End If
  69.         If c = &H00 Then Exit While
  70.         If c = &H20 Then
  71.             Dim cc%
  72.             If j > 1 Then
  73.                 cc = LodB(t$, j-2)
  74.             End If
  75.             If n = 1 Or cc = &H20 Then
  76.                 j = j - 1
  77.                 n = n - 1
  78.             End If
  79.         End If
  80.         n = n + 1
  81.         i = i + 1
  82.     Wend
  83.     DelSelect()
  84.     InsertString(t$)
  85. End
  86.